// 随机获取布尔值 => true/false
const randomBoolean = () => Math.random() >= 0.5;

// 判断给的日期是否为工作日 0:周日 6:周六 => true/false
const isWeekday = (date) => date.getDay() % 6 !== 0;

// 反转字符串 => String
const reverseStr = str => str.split('').reverse().join('');

// 判断当前选项卡是否在视图/焦点中 => true/false
const isBrowserTabInView = () => document.hidden;

// 判断数字是偶数还是奇数 => true/false
const isEven = num => num % 2 === 0;

// 将数字四舍五入到固定的小数点 注意: 返回值是Number会去0 => 返回值是Number会去0
const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);

// 检查元素当前是否处于焦点 => true/false
const elementIsInFocus = (el) => (el === document.activeElement);

// 检查当前用户是否支持触摸事件 => true/false
// ontouchstart 也可以用来判断是否移动端
const touchSupported = () => {
  ('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}

// 检查当前用户是否在Apple设备上 => true/false
const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);

// 滚动到页面顶部 注意：Internet Explorer不支持该.scrollTo()方法。
const goToTop = () => window.scrollTo(0, 0);

// 获取参数的平均值 => Number
const average = (...args) => args.reduce((a, b) => a + b) / args.length;

// 转换华氏/摄氏 => Number
const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;

